]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Search: be resilient against buggy search providers
authorGiovanni Campagna <gcampagna@gnome.org>
Sun, 8 Mar 2015 23:20:10 +0000 (16:20 -0700)
committerGiovanni Campagna <gcampagna@gnome.org>
Wed, 11 Mar 2015 20:47:48 +0000 (13:47 -0700)
If a search provider returns a meta without a name, don't crash
constructing the actor.

https://bugzilla.gnome.org/show_bug.cgi?id=745861

js/ui/search.js

index 7e7cb83faf7cae2cbc43fdba417211ff337a4a8f..e307ce3f8dfae09d09eff0e7cbdc6c454e27db5d 100644 (file)
@@ -205,6 +205,13 @@ const SearchResultsBase = new Lang.Class({
                     callback(false);
                     return;
                 }
+                if (metas.some(function(meta) {
+                    return !meta.name || !meta.id;
+                })) {
+                    log('Invalid result meta returned from search provider ' + this.provider.id);
+                    callback(false);
+                    return;
+                }
 
                 metasNeeded.forEach(Lang.bind(this, function(resultId, i) {
                     let meta = metas[i];